import { api } from '../../utils/api';

Page({
  data: {
    contactId: 0,
    contactInfo: null as any,
    loading: false,
  },

  onLoad(options: any) {
    const contactId = parseInt(options.contactId);
    if (!contactId) {
      wx.showToast({
        title: '参数错误',
        icon: 'none',
      });
      wx.navigateBack();
      return;
    }

    this.setData({
      contactId,
    });

    this.loadContactInfo();
  },

  async loadContactInfo() {
    this.setData({
      loading: true,
    });

    try {
      // 获取联系人列表，找到对应的联系人
      const res: any = await api.getContacts();
      if (res.success && res.contacts) {
        const contact = res.contacts.find((c: any) => c.contactId === this.data.contactId);
        if (contact) {
          // 后端已经返回了用户的详细信息（nickname、avatar、username）
          this.setData({
            contactInfo: contact,
          });
        } else {
          wx.showToast({
            title: '联系人不存在',
            icon: 'none',
          });
          setTimeout(() => {
            wx.navigateBack();
          }, 1500);
        }
      }
    } catch (error) {
      console.error('加载联系人信息失败:', error);
      wx.showToast({
        title: '加载失败',
        icon: 'none',
      });
    } finally {
      this.setData({
        loading: false,
      });
    }
  },

  onChatTap() {
    wx.navigateTo({
      url: `/pages/chat-detail/chat-detail?userId=${this.data.contactId}`,
    });
  },

  onDeleteTap() {
    wx.showModal({
      title: '提示',
      content: '确定要删除这个联系人吗？',
      success: async (res) => {
        if (res.confirm) {
          try {
            await api.deleteContact(this.data.contactId);
            wx.showToast({
              title: '删除成功',
              icon: 'success',
            });
            setTimeout(() => {
              wx.navigateBack();
            }, 1500);
          } catch (error) {
            wx.showToast({
              title: '删除失败',
              icon: 'none',
            });
          }
        }
      },
    });
  },

  onBack() {
    wx.navigateBack();
  },

  onMore() {
    // 显示更多选项菜单
    wx.showActionSheet({
      itemList: ['设置备注和标签', '设为星标朋友', '加入黑名单'],
      success: (res) => {
        if (res.tapIndex === 0) {
          // 设置备注和标签
          wx.showToast({
            title: '功能开发中',
            icon: 'none',
          });
        } else if (res.tapIndex === 1) {
          // 设为星标朋友
          wx.showToast({
            title: '功能开发中',
            icon: 'none',
          });
        } else if (res.tapIndex === 2) {
          // 加入黑名单
          wx.showToast({
            title: '功能开发中',
            icon: 'none',
          });
        }
      },
    });
  },

});

